"""
@Author : 合肥一元数智教育科技有限公司
@Date :  2025/5/16 16:06
@Description : 

"""
from django.shortcuts import redirect
from django.urls import reverse
from django.utils.deprecation import MiddlewareMixin


# 权限控制中间件
class PermissionMiddleware(MiddlewareMixin):

    # 返回None  放行
    def process_request(self, request):
        # 放行特定请求
        path = request.path
        # 登录   退出  修改个人密码
        login_path = reverse('user_login')
        logout_path = reverse('user_logout')
        pwd_reset = reverse('user_personal_pwd')
        if path in [logout_path, login_path, pwd_reset]:
            return None

        if path.startswith('/app08/user'):
            # 判定用户是否是管理员
            username = request.session.get('username')
            if username != 'super':
                # 返回403页面
                return redirect(reverse('permission_page'))
        # 放行请求
        return None
